/* 
 * File:   fileList.h
 * Author: pigeon
 *
 * Created on November 22, 2008, 8:11 PM
 */

#ifndef _FILELIST_H
#define	_FILELIST_H


#include <vector>
#include <list>
#include <boost/shared_ptr.hpp>
#include "types.h"

const unsigned int numberOfWorkers = 4;

typedef std::vector<tstring> CVectorOfString;
typedef boost::shared_ptr<CVectorOfString> CPrtVectorOfString;

typedef std::vector<CPrtVectorOfString> CVectorOfVector;
typedef boost::shared_ptr<CVectorOfVector> CPrtVectorOfVector;
class CFileList
{
  CPrtVectorOfString m_fileList;
  CPrtVectorOfVector m_vecOfVec;  
  unsigned int m_nNumOfWorkers;
public:
    CFileList(unsigned int);
    void buildFilesList(const tstring&);
    void print() const;
    const CPrtVectorOfVector getFileList() const;
    bool createOutputFolder(const tstring&);    
    static tstring getFileName(const tstring&);
public:
    static tstring output_path;
};


#endif	/* _FILELIST_H */

